﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace VoidTank
{
    class Menu
    {
        Texture2D textura; //  imagem da tela
        public int selecao;// opção que esta sendo selecionada
        int limite;// numero de opções
        int posX;// posicao y da primeira opção 
        int alignY;// distancia y entre as opções
        int distX;// posição x das opções
        List<String> opcao = new List<string>();// texto das opcoes

        public void Inicializar(Texture2D textura, int limite, int posX, int alignY, int distX, String[] texto)// funcao de inicializacao
        {
            this.textura = textura;
            this.limite = limite;
            this.posX = posX;
            this.alignY = alignY; 
            this.distX = distX;
            selecao = 0;// sempre é inicializado na primeira opção
            this.opcao.Clear();
            for (int i = 0; i < limite; i++)
            {
                this.opcao.Add(texto[i]);
            }
        }

        public void Atualizar()// impede que o jogador selecione uma opção que não está na lista
        {
            if (selecao >= limite) { selecao = 0; }
            else if (selecao < 0) { selecao = limite - 1; }
        }

        public void Desenhar(SpriteBatch spriteBatch, SpriteFont fonte)
        {
            //spriteBatch.Draw(textura, Vector2.Zero, Color.White);
            
            for (int i = 0; i < limite; i++)
            {
                if (i == selecao)
                {
                    spriteBatch.DrawString(fonte, opcao[i], new Vector2((posX + i * distX),  alignY), Color.Red);// opcao selecionada aparace em cor diferente
                }
                else
                {
                    spriteBatch.DrawString(fonte, opcao[i], new Vector2((posX + i * distX),  alignY), Color.White );// colocar em cor diversa do background
                }
            }
        }
    }
    }
